From BlenderWiki

Jump to: navigation, search
Note: This is an archived version of the Blender Developer Wiki. The current and active wiki is available on wiki.blender.org.

Hi Juho,

Great to see someone picking up the image editor! A few notes

  • The image editor undo is actually tile based, it only stores 64x64 tiles that changed, see the undo related functions at the top of imagepaint.c. It's pretty ridiculous though that it does this, but can't do multiple undo :)
  • The idea of adding blending functionality in image nodes seemed a bit weird to me at first, but actually makes sense I think. Though of course there is more to be figured out about how this node integration should work. A possibility is to make it possible to add a node tree to every image, with basically compositor nodes in them, except the render related nodes. Then the active image node in the node tree would be the one you paint on. Though it's not nice to have to create a new image for every layer you want, so there should probably be a way to manually add layers to images in blender, like the render result image now gets layers automatically.
  • Adding another brush panels for less commonly used settings seems fine to me, and the extra brush attributes you propose sound nice as well.
  • Brush preview is definitely a good thing to add, the code in brush.c generates an imbuf anyway, so that could probably be done with the same preview system materials and textures use.

Brecht 12:41, 29 October 2007 (CET)

Hi Brecht,

Tile based undo is definitely a strong candidate. In my opinion the basic concept of action based undo is more elegant. Therefore I will probably try to build a simple proof of concept utilizing it. If it does not work out, tile based undo seems the way to go.

About second point. I see this system as a separate node system. It would fit next to material and compositing ones. It definitely should allow creation of multiple node trees in one scene. Also it should be possible to edit image without having it in a tree. Editable image could appear in the image list just like viewer node or render result do now. This could be called as "Active Layer" or some other appropriate phrase could be used.

One thing that needs to be decided upon is should the layer system be usable without the user having to use the node editor to select/set status of layers. I do think it would be valuable to be able to do simple things without the node editor. Sometimes even standard layer functionality is enough. For this it might make sense to offer simplified view on the layer system within the image editor. It could be a panel containing list of the layers. Should layer branch out, it could contain "folders" just like the outliner does. Unfortunately this works only for tree like node setups as far as I can see.

I will sketch out a proposal for the panel system. I do think that merging brush preview and some brush controls is a good way to go for now. One thing I have noticed about brushes is that programs tend to offer only absolute (pixel based) brushes! This can be problematic when one is editing big images. Therefore it might make sense to offer relative (based on image size (pick min of dimensions?)) alternative.

Another important thing to consider is the usage of some common brush format like one that the GIMP uses. It is possible to convert Photoshop brushes to GIMP ones. This could give the users a wide array of premade brushes.

--BeBraw 16:45, 29 October 2007 (CET)